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.
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.
If you want to read the docs: https://globalchem.readthedocs.io/en/latest/?badge=latest
I'll update my answer since it's been awhile, turns out I needed this in a capacity of common vs rare. So I added a lot more with v0.5.1 with as many as 1200 entries organized appropriately.
- Common Organic Solvents: 42 entries
- Open Smiles Manual: 94 entries
- Rings in Drugs: 92 entries (Missing Some)
- IUPAC Blue Book: 222 entries
- Vitamins: 13 entries
- Amino Acids: 20 entries
- Regex Patterns: 1 entry