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.

A more detailed description of the filters can be found in the auto-generated documentation file $::cactvs(data_directory)/autodocs/filters.html

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.

3dplotatom

A_XYZ

Atom has defined 3D coordinates

3dplotbond

A_XYZ

All bond atoms have defined 3D coordinates

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.

acidicatom

A_HYDROGEN_BONDING

A hydrogen atom which is acidic.

acspecial

A_CSPECIAL

Atom is a special carbon (i.e. is usually drawn with atom symbol)

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.

ametal

A_ISMETAL

A metal atom.

anion

A_FORMAL_CHARGE

Atom has a negative charge.

anyatom

a_query

The atom is an any atom specification for substructure searching.

aopen

A_TYPE

Open valence pseudo atom

apicenter

A_PICENTER

An atom which is a π center.

aradical

A_RADICAL

An atom with unpaired electrons.

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.

arotautobond

B_ISAROTAUTOMERIC

Test whether the bond is within an extended (possibly aromatic-system-spanning) tautomer system

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).

astereogenic

A_STEREOGENIC

An atom which can be a stereo center.

aunmapped

A_MAPPING

Atom which is unmapped

aunsub

A_HETERO_COUNT

An atoms which is not substituted by hetero atoms.

basicatom

A_HYDROGEN_BONDING

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

bondangle

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).

bondtorsion

B_TYPE

A filter for pseudo bonds of type torsion angle. The toolkit supports as a pseudo-bond type the encoding of torsion angles (angle between the planes formed by three atoms each, with two atoms joined by a common bond in the middle).

boronatom

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.

bromineatom

A_ELEMENT

The element of the atom is bromine.

bstereogenic

B_STEROGENIC

The bond can be a stereo center.

carbocycle

a_element

The ring contains only carbon.

carbonatom

A_ELEMENT

The element of the atom is carbon.

cation

A_FORMAL_CHARGE

Atom with positive formal charge

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

chlorineatom

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/fragment has at least 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.

envelopering

r_type

The ring is an envelope ring.

epairatom

A_FREE_ELECTRONS

Atom with two or more electrons not participating in VB bonds.

esssrring

R_TYPE

The ring is in the ESSSR set

flagbond

b_flags

The bond has any display attribute flag set.

fluorineatom

a_element

The element of the atom is fluorine.

h0atom
h1atom

h2atom

h3atom

A_HCOUNT

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

hacceptoratom

A_HYDROGEN_BONDING

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

halogen

A_IUPAC_GROUP

The atom is a halogen ( PSE group VIIa).

hdonoratom

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.

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.

highlightatom

A_FLAGS

An atom where the highlight flag in A_FLAGS is set

highlightbond

B_FLAGS

A bond where the highlight flag in B_FLAGS is set

hneighbor

A_element

The atom is bonded to a hydrogen atom.

hxbond

A_element

A bond between hydrogen and hetero atom.

hydrogenatom

A_ELEMENT

The atom is hydrogen.

interferingatom

A_FLAGS

Atom for which the interfering bit has been set, for example while interpreting a Lhasa transform

iodineatom

A_element

The element of the atom is iodine.

ionicbond

B_TYPE

The type of the bond is ionic.

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.

lhasapathatom

A_LHASA_PATH_LABEL

The atom is in the path, as matched by a pattern in a Lhasa transform

listatom

a_query

The atom is an element list for substructure searches.

macrocycle

r_size

The ring is of size 12 or more.

magent

M_REACTION_ROLE

Molecule has agent reaction role.

mbyproduct

M_REACTION_ROLE

Molecule has byproduct reaction role.

mcatalyst

M_REACTION_ROLE

Molecule has catalyst reaction role.

mediumring

r_size

The ring is of size 5-7.

mimpurity

M_REACTION_ROLE

Molecule has impurity reaction role.

minorganuc

M_ORGANIC

The fragment is inorganic according to the normal definition.

mintermediate

M_REACTION_ROLE

Molecule has intermediate reaction role.

morganic

M_ORGANIC

The fragment is organic according to the normal definition

mproduct

M_REACTION_ROLE

Molecule has product reaction role.

mreagent

M_REACTION_ROLE

Molecule has reagent reaction role.

msolvent

M_RACTION_RoLE

Molecule has solvent reaction role.

multibond

b_order

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

multiringatom

A_RING_COUNT

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

multiringbond

B_RING_COUNT

The bond is member in more than one ring.

multiringsystem

Y_RING_COUNT

The ring system consists of two or more rings.

mwaste

M_REACTION_ROLE

Molecule has waste reaction role.

nitrogenatom

A_ELEMENT

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.

nomatchatom

a_query

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

openvalenceatom

A_HYDrogens_needed

The atom has open valences.

oxygenatom

a_element

The element of the atom is oxygen.

participatingatom

A_FLAGS

Atom is participating in a reaction, outside of direct reaction center. This is for example annotated by Lhasa reaction transforms.

phosphorusatom

a_element

The element of the atom is phosphorus.

plotatom

a_xy

The atom has valid 2D 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.

pnicogen

A_IUPAC_GROUP

The atom is a pnicogen ( PSE group Va).

protectedatom

A_FLAGS

Atom which needs protection in a reaction. Annotated for example by Lhasa transforms.

queryatom

A_TYPE

An atom which is purely a query specification.

querytreeatom

A_QUERY

An atom with a query tree specification in A_QUERY .

querytreebond

B_QUERY

A bond with a query tree specification in B_QUERY .

racemicatom

A_RACEMATE

A stereogenic atom which is explicitly declared a racemate.

racemicbond

B_RACEMATE

A stereogenic bond which is explicitly declared a racemate.

reactionagent

E_REACTION_ROLE

The role of an ensemble in a reaction is agent.

reactionaltreagent

E_REACTION_ROLE

The role of an ensemble in a reaction is altreagent.

reactionbyproduct

E_REACTION_ROLE

The role of an ensemble in a reaction is byproduct .

reactioncatalyst

E_REACTION_ROLE

The role of an ensemble in a reaction is catalyst .

reactionimpurity

E_REACTION_ROLE

The role of an ensemble in a reaction is impurity .

reactionintermediate

E_REACTION_ROLE

The role of an ensemble in a reaction is intermediate .

reactionprecursor

E_REACTION_ROLE

The role of an ensemble in a reaction is precursor .

reactionproduct

E_REACTION_ROLE

The role of an ensemble in a reaction is product .

reactionreagent

E_REACTION_ROLE

The role of an ensemble in a reaction is reagent .

reactionsolvent

E_REACTION_ROLE

The role of an ensemble in a reaction is solvent .

reactionwaste

E_REACTION_ROLE

The role of an ensemble in a reaction is waste .

redatom

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...

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.

ringlinkeratom

A_FRAMEWORK

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

ringlinkerbond

B_FRAMEWORK

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

satring

r_Unsaturated

The ring is saturated.

selectedatom

A_FLAGS

An atom where the selected flag in A_FLAGS is set

selectedbond

B_FLAGS

A bond where the selected flag in B_FLAGS is set

siliconatom

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 Kekulé bonds encode with a single bond order.

slashbond

b_flags

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

smallring

r_size

The ring is of size 3-4.

spatom

A_HYBRIDIZATION

The atom is sp -hybridized.

sp2atom

A_HYBRIDIZATION

The atom is sp2 -hybridized.

sp3atom

A_HYBRIDIZATION

The atom is sp3 -hybridized.

sp3sp3bond

A_HYBRIDIZATION

The bond is between two sp3 -hybridized atoms.

spiroatom

A_SPIRO

The atom is a spiro atom.

splitbond

b_flags

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

sssrring

r_type

Ring is in the SSSR set.

standardatom

A_TYPE

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

starredatom

a_flags

The attribute bit for an asterisk marker is set.

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.

sulphuratom

a_element

The element of the atom is sulphur.

superatom

A_type

The atom is a super atom pseudo atom.

superatomsgroup

G_TYPE

The group encodes a superatom.

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 .

tautoatom

A_TAUTOMER_SYSTEM

Atom is part of a tautomer system.

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.

triplebond

b_order

A triple bond with bond order 3.

unsatring

R_UNSaturated

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

v0atom..

v8atom

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.

xneighbor

a_element

The atom is bonded to hetero atom.

xunsatring

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.

xxbond

a_element

A bond between two hetero atoms.

This table only lists the most important element filters (the built-in set, plus the standard set of external filter definitions). The full set of elements in the periodic system is also provided as an element filter. Initially, only the most common elements are entered as pre-defined filters in the filter table and are listed here. However, the name of any element in the PSE can be used as filter name, and the filter is then automatically created if it has not yet been set up. 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 or carbonatom .

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