# What databases or repositories are there that have generalized SMILES for functional groups?

Does a resource exist that has the SMILES formula of the generalized pattern that represents the group?

For instance: I have the aldehydes group, which has the pattern: -CHO. Is there a resource that lists each functional group with the generic pattern that defines the group and its SMILES representation?

I'm hoping for, at the very least, getting the SMILES formula for the functional groups represented in this pdf: EPA Chemical Compatibility Chart

Follow up question: Is SMILES still relevant or are there better ways to represent chemicals?

• Aldehyde is just C=O – DHMO Sep 16 '16 at 4:59
• @user34388 Except that C=O matches ketones and carboxylates in addition to aldehydes. The trick with functional group specification is in excluding things that shouldn't be matched, rather than forming things which do. This is why SMARTS, rather than SMILES, tends to be better for substructure searching. SMARTS is basically just SMILES with additions which help in querying. – R.M. Sep 16 '16 at 18:13
• Thanks @R.M., would you like to post this as an answer so I can give you credit (and build upon it in the comments?) – lilott8 Sep 16 '16 at 19:27
• @lilott8 It's not an answer to your question, though, only some comments about the sort of answers which are likely to be useful. – R.M. Sep 16 '16 at 19:59
• @user34388 I think I understand your confusion. Text searching is a lousy way to look for SMILES-based substructures. While many ketone SMILES do contain C(=O), they don't need to: C1CCCCC1=O is a perfectly valid SMILES for cyclohexanone. Likewise, while aldehydes often contain C=O, they don't need to: O=CC is a valid SMILES for acetaldehyde, as is CC(=O)[H]. Conversely, CCOC=O (ethyl formate) is not an aldehyde. As such, pretty much any decent substructure search program that takes SMILES does not do text searches, and will give back ketones, esters, etc. for a query of C=O. – R.M. Sep 17 '16 at 2:14

I'm currently working on a content store for a resource like this because I've realized I need this as well (and came across your question ~2 weeks ago).

# Content Vairable Store

I am writing a python package called global-chem to actively support variable common storage (especially for SMILES/SMARTS) strings that can be easily distributed via pip.

https://github.com/Sulstice/global-chem

The code is fairly simple and can be a one-liner:

from global_chem import GlobalChem
functional_groups = GlobalChem().functional_groups_smiles


GlobalChem is a class and properties on that class correspond to different sets of SMILES/SMARTS strings.

As of right now, I have

• 93 functional group for SMILES
• 85 functional groups for SMARTS
• 19 Amino Acid SMILES strings

I suspect it will grow more over time and probably as I, and others, contribute to it.