SMILES Tutorial: Branching

This document is intended to be viewed with a tables-capable browser.

Branch specification

Branches are specified in SMILES by enclosing them in parentheses, which may be nested or stacked.

The syntax for branching is:

   branch : '(' <chain> ')'
          | '(' <chain> <branch> ')'
	  | '(' <branch> <chain> ')'
	  | '(' <chain> <branch> <chain> ')'

Advanced issues

The SMILES language specifies no predefined limit to how deep branching may be nested. Most implementations define such a limit, typically between 10 and 50. It's rarely a problem in practice, since the average connectivity of real molecular graphs is very low.


Table 5. Branch specification in SMILES.
Depiction SMILES Name Remark
CC(C)C(=O)O isobutyric acid If needed, bond symbols should appear inside branches.
fluoroform Branches may be stacked. One can start with any atom equally well.
perchlorate anion More branch stacking.
CCCC(C(=O)O)CCC 4-heptanoic acid Branches may be nested.

Forward to "Rings".
Back to "Bonds".
Return to table of contents.
Daylight Chemical Information Systems, Inc.