D Weininger 1988 SMILES line-notation; modern canonical-SMILES + SMARTS-pattern + RDKit / OpenBabel parsing standard.