Table 1.
Overview of all the condition keywords supported by the atom typer. The type of condition can be “atom”: evaluate an atomic property, “topology”: related to the connectivity of the molecular graph, “bond”: evaluate a bond property, “logic”: logical operator or “action”: optional action (see text). Note that the latter are not conditions in the sense that they don’t test anything - performing an action instead - although they could be regarded as conditions that always evaluate true.
Condition | Meaning | Type |
---|---|---|
el <element> | element | atom |
elha | halogen | atom |
elos | chalcogen | atom |
nb <#> | valence | atom |
rings <#> | # of rings | atom |
ring3 <size> | all-sp3 ring | atom |
ring2 <size> | all-sp2 ring | atom |
arom <size> | aromatic ring | atom |
ring23 <size> | mixed sp2/sp3 ring | atom |
ring <size> | any ring | atom |
self | parent atom | atom/topology |
ne ( <cond> ) ( <cond> ) … | neighbor | topology |
bo <order> | bond order | bond |
inring | bond in ring | bond |
! ( <cond> ) | not operator | logic |
or ( <cond> ) ( <cond> ) … | or operator | logic |
charge <#> | formal charge | action |
impr | improper dihedral | action |
warn “<message>” | (non-fatal) warning | action |
err “<message>” | (fatal) error | action |
altnum | alternate numbering | action |