In this test, we were able to capture 70 different GAFF types from CCD dataset, which contains around 24,000 entries . Rather than build a SMARTS hierarchy on the entire CCD dataset, we built a minimal set that still covered all 70 GAFF types. To do this we randomly chose a molecule that exercises each GAFF atom type, and then aggregated the molecules into a single dataset. This ensured that the resulting hierarchy covered the same chemical space that the GAFF types cover.