module Data.SMILES where import Data.SMILES.Atom import Data.SMILES.Bond newtype SMILES = SMILES { getSMILES :: [ChainToken] } deriving (Show, Read, Eq, Ord) data ChainToken = Atom Atom | Bond Bond | RingClosure (Maybe Bond) Int | Branch SMILES deriving (Show, Read, Eq, Ord)