I was recently exploring the VEHICLe data set and seem to have run into an inconsistency. The dataset is described as, The VEHICLe database, short for Virtual Exploratory heterocyclic library, contains all possible aromatic molecules meeting the following constraints: 1) neutral, 2) composed only of carbon, nitrogen, oxygen, sulfur, and hydrogen, 3) all atoms in rings except hydrogen and carbonyl oxygens 4) either 1 or 2 aromatic rings. The majority of these compounds have not yet been synthesized in the laboratory.
I took the resource data and extracted the SMILES and converted to Molecule by supplying the strings. The molecule object conversion works fine.
ringCounts = MoleculeValue[molecules, "AromaticRingCount"] // Counts
<|1 -> 217, 2 -> 20613, 0 -> 4037|>
However, when I count the number of rings, I get more than 4000 molecules with 0 rings. Perhaps, something is up with AromaticRingCount that the rings are not detected correctly. A couple of molecules with 0 rings are shown here. Is there something about AromaticRingCount that's not working correctly here?
SMILES strings for 10 of those molecules are posted here:
"O=c1cc2cnc(=O)c(=O)c-2c1", "O=c1cc2c(=O)c(=O)ncc-2n1", \
"O=c1cc2cnc(=O)c(=O)c-2n1", "O=c1nc2cnc(=O)c(=O)c-2n1", \
"O=c1cc2cnc(=O)c(=O)c-2cc1=O", "O=c1ncc2cnc(=O)c(=O)c=2c1=O", \
"O=c1ncc2c(=O)c(=O)ncc=2c1=O", "O=c1cc2cnc(=O)c(=O)c-2nc1=O", \
"O=c1cc2c(=O)c(=O)ncc-2nc1=O", "O=c1[nH]c2cnc(=O)c(=O)c=2c(=O)c1=O"