How does one get the systematic name for molecules like formic acid? I would like to get methanoic acid.
1 Answer
$\begingroup$
$\endgroup$
Most sources for molecule names will just call this "formic acid":
In[3]:= MoleculeName[Molecule["formic acid"], #] & /@ {"Wolfram", "PubChem", "Wikidata", "Cactus"}
Out[3]= {"formic acid", "formic acid", "formic acid", "formic acid"}
You might think that asking for the IUPACName
would give "methanoic acid" but you would be disappointed:
In[10]:= Normal@
ServiceExecute["PubChem",
"CompoundProperties", {"Molecule" -> Molecule["formic acid"],
"Property" -> "IUPACName"}]
Out[10]= {<|"CompoundID" -> 284, "IUPACName" -> "formic acid"|>}
In[11]:= ToEntity[Molecule["formic acid"]]["IUPACName"]
Out[11]= "formic acid"
What you can do is create a Molecule
from a PubChem compound ID, and then look in the downloaded meta information:
In[12]:=
Molecule[First@Molecule["formic acid"]["PubChemCompoundID"]]["MetaInformation"]["IUPACSystematicName"]
Out[12]= "methanoic acid"
I have no idea what percentage of compounds in PubChem have values for the IUPACSystematicName
property.